﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

/// <summary>
/// Classe abstrata que representa um processo.
/// </summary>
public abstract class Process
{
    //Percentage of completation of the process.
    public  Double pctComplete { get; set; }
    //Status of the process code: 1-started, 2-paused, 3- finished.
    public int status { get; set; }
    //Process name or identification.
    public string name { get; set; }
    //Process Type
    public string type { get; set; }
    //Process List
    private static List<Process> ProcessList;




    public List<Process> getProcessList()
    {
        return ProcessList;
    }
    public void SetProcessList(Process newProcess)
    {
        if (ProcessList == null)
        {
            ProcessList = new List<Process>();
        }
        ProcessList.Add(newProcess);
    }
    public void removeFromProcessList(Process Process)
    {
        ProcessList.Remove(Process);
    }
    public abstract void runMethod();
    public abstract void pauseMethod();
    public abstract void resumeMethod();
    

}